# 列表的相关函数

varl = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'a', 'a', 'b']

# len(list) 检测列表的长度
print(len(varl))
# 10

# count(s) 检测一个元素在列表中出现的次数
print(varl.count('a'))
# 3

# append([index, ]s) 向列表的尾部追加新的元素
varl.append('aa')
print(varl)
# ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'a', 'a', 'b', 'c']

# insert() 向列表指定位置添加元素，超出添加到最后一个
varl.insert(0, 'bb')
print(varl)
# ['bb', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'a', 'a', 'b', 'aa']

# pop([index]) 指定索引位置上元素做出栈操作，返回出栈的内容，默认弹出最后一个元素
print(varl.pop())
# aa
print(varl)
# ['bb', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'a', 'a', 'b']
print(varl.pop(0))
# bb
print(varl)
# ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'a', 'a', 'b']

# remove(s) 删除列表中的指定值，没有返回值，只删除第一个出现的，找不到会报错
varl.remove('b')
print(varl)
# ['a', 'c', 'd', 'e', 'f', 'g', 'a', 'a', 'b']


# index(s[, start[, end]]) 查找元素第一次出现的位置的索引值，可以指定开始结束位置
print(varl.index('b'))
# 8

# extend(iterable) 接收一个容器类型数据，将该数据追加到列表的末尾
varl.extend(['aa', 'bb'])
print(varl)
# ['a', 'c', 'd', 'e', 'f', 'g', 'a', 'a', 'b', 'aa', 'bb']

# clear() 清空列表内容，没有返回值
varl.clear()
print(varl)
# []

# reverse() 列表翻转
varl.extend(['a', 'b', 'c', 'd', 'e', 'f', 'g'])
varl.reverse()
print(varl)
# ['g', 'f', 'e', 'd', 'c', 'b', 'a']

# sort(*[, key=func][, reverse=True]) 对列表进行排序
# reverse 是否从大到小排序，默认值False，从小到大排序
# key 传递一个函数，按照函数返回值对元素进行排序
varl1 = [1, 4, 8, 6, 2, 3, 7, 3, 9, 7]
varl1.sort()
print(varl1)
# [1, 2, 3, 3, 4, 6, 7, 7, 8, 9]

# copy() 复制当前列表
varl2 = varl1.copy()
varl2.pop()
print(varl2)
print(varl1)
'''
[1, 2, 3, 3, 4, 6, 7, 7, 8]
[1, 2, 3, 3, 4, 6, 7, 7, 8, 9]
'''




